home *** CD-ROM | disk | FTP | other *** search
- Introduction
-
- Since the days of yore when we received Citadel (the Z80 version
- of Citadel, that is...) from CUG (C User's Group), several
- utilities of interest have been added to the package to supplement
- the original two .com files that came with the package, to wit
- Citadel and Configur. These come in two types: one, to provide
- information about what's going on inside this monster which, due
- to runtime space considerations, could not be gotten at; two, the
- ability to change certain parameters which were either impossible
- to change once a BBS was set up, or were, at the least, difficult
- to change.
-
- So, the files just grew and evolved. To run any of these
- utilities, you've got to be in the directory where your
- ctdltabl.sys is located. When you do a shell escape from inside
- STadel, it writes a copy of ctdltabl.sys to the directory you
- started out in, so that you may run these programs from there.
-
- 1) CLOG
-
- Clog provides access to the userlog for the Sysop. To use it, the
- file ctdltabl.sys (the one generated by Configur and maintained by
- Citadel) must be on the default disk, and so must be ctdllog.sys.
-
- There are two ways of using Clog. First, there is the simple
- call:
-
- $ clog
-
- This will print out on the console the list of users in the file
- as they appear in the file. The user of this program should be
- warned that Citadel does not put new users into the userlog in
- sequential order. Instead, they are hashed into the log. Usually,
- first user to log into the system ends up occupying the last
- position in the file! In general, users are sprinkled everywhere,
- so don't be alarmed if nothing shows up right away. Be patient.
-
- In any case, the list is printed out as follows. First, the log
- position will be printed out, which will always be in sequential
- order. If nobody occupies that position, then Clog proceeds to
- the next log position. If somebody does occupy that position,
- then the name of that person (or alias) will be printed out,
- followed by his/her status as aide, expert/non-expert, and screen
- width.
-
- The second way to use Clog is to give it arguments. There are
- two arguments currently available; the -p argument and the -a
- argument.
-
- $ clog -p -a
-
- -p will cause the passwords to be listed along with the user's
- name. This is very useful if somebody forgets their password. -a
- will only list the aides on the system (this was put in because
- some unscrupulous users might make themselves aides if they get
- access to the system console).
-
- 2) EXPAND
-
- Expand's purpose in life is to allow the sysop to expand the size
- of his/her message file (ctdlmsg.sys). This makes it easy to
- move upwards as one gets rich running Citadel for cold, hard cash
- and acquires better and better equipment.
-
- Expand expects to find the file ctdltabl.sys on the default disk
- in the default user area and the ctdlmsg.sys file in #msgdir.
- Simply call Expand without arguments. Once it has loaded
- ctdltabl.sys, it will display the current size of the message
- file, and then ask for the new size. Then Expand will do it's
- job. THIS IS A SLOW PROCESS. Be patient. The program will be
- printing some stuff out that might allow the sysop to figure out
- where the program is.
-
- Once the program is done, it will say so, and will also tell you
- that there is no reason to reconfigure. This is true -- But you
- should update ctdlcnfg.sys immediately*.
-
- 3) LOGEDIT
-
- Logedit is provided for when strange things start happening in
- the log file, such as duplicate or semi-duplicate logs start
- appearing. Logedit lets the sysop change a users name, password,
- or kill the account.
-
- To run, make sure the disk with the #sysDir files is in its
- normal position, and run Logedit. Logedit will ask for a user
- number to modify -- this is the users position in the call log.
- (This can be gotten from Clog.)
-
- 4) LCHANGE
-
-
- Lchange lets the Sysop change the size of the current userlog
- file. To use it, you type
-
- $ Lchange <new-log-size>
-
- And Lchange will modify the existing ctdllog.sys. It will then
- tell you to modify your ctdlcnfg.sys -- you do not need to
- reconfigure.
-
- <new-log-size> must be greater than 0. Lchange needs temporary
- space in your #sysDir -- you must have at least 512 free bytes per
- log entry for the new ctdllog.sys.
-
- 5) POPULAR
-
- The Popular utility is a statistics-gathering utility, and, as
- such, can be easily viewed as your basic feeping creaturism.
- However, for those of us who have somehow acquired that horrible
- taste for odd statistics about how people use Citadel, it does
- serve some purpose.
-
- Popular gathers statistics about the Public rooms on a system.
- These statistics consist of simply calculating how many people
- have forgotten each Public room on a system. Yes, a rather odd
- statistic to gather, but there it is. Once it has finished
- processing the data, it displays the results in tabular form, in
- (roughly) the following form:
-
- <room name> <# of people who have forgotten this room> <% of total users>
-
- To use this utility, simply make sure your data files are in
- their normal drives, and run this program.
-
- There are a few command-line options available for Popular:
- `-m' will list the number of messages in each room.
- `-s' will sort the output listing in a few different ways; `-sp'
- sorts the output by # messages in rooms, `-sz' sorts by number of
- people who have forgotten each room, and `-sb' sorts by both
- number of messages in each room and number of people who have
- forgotten each room. Needless to say, if you don't do `-m',
- Popular will not be able to sort by # of messages in each room.
- `-r' selects the rooms that Popular does statistics for. Normally,
- Popular merely does the statistics for public rooms, but if you
- have a system like Pell where 99% of the rooms are private, that
- leads to massively dull popularity lists. -r takes a second
- option character to determine which sorts of rooms to create
- statistics for: `a' generates statistics for _all_ the rooms on
- your system; `i' generates statistics for invitation-only rooms;
- `h' generates statistics for private non-invitation-only rooms;
- `s' generates statistics for all private rooms, invite-only or
- not; and `n' generates statistics for all non-invite-only rooms.
-
- 6) CKDOOR
-
- Ckdoor is a simple utility that scans your Ctdldoor.sys file and
- makes sure that it is correct. To run it, you must be in the
- directory that contains your Ctdldoor.sys file.
-
- 7) DUMPNET
-
- Dumpnet produces an ascii dump of all the net nodes for your
- system. It is handy for moving a netlist between versions of
- STadel. To use it, type `Dumpnet > listfile'. You must be in the
- directory with your ctdltabl.sys to run it.
-
- Dumpnet produces records of the form shown below:
-
- #node the land@US (513) 254 6811
- 2,E0,L10,+
-
- 00000601,01
- citanews 11893
- net.politics 11893
- net.religion 11893
- administrivia 11893
- bbs list 11893
- net.sci-fi 11893
- net.flames 11893
- Dumpster 11893
- Sysop Stuff 11893
- aide 11640
- STadel 11893
- comp.atari 11893
- comp.amiga 11893
- C 11893
- Modula-2 11893
- net.gossip 11893
-
-
- The first line (#node) gives the system name and node-id/telephone
- number.
- The second line is options for this node - the first number is the
- baudrate code for that system (followed by a `R' if it is a
- recieve-only system), and the rest of the fields are optional:
- Enumber is the external dialer that the system uses (zero means it
- doesn't use one); Lnumber is the long distance flag - if zero, it
- is a local system, otherwise it's the retry count for that system;
- `+' means the system will do long-distance role reversal.
- The third line is the [A]ccess code for the system, if any.
- The fourth line is contains an encoded long that tells what
- networks the node is active in, followed by an optional integer
- (,integer) that gives the days that this system will be polled in.
-
- The lines after that are the rooms that this system shares with
- your system. The number after the roomname (the roomname is
- separated from the number by a single tab) is the message-id of
- the last message sent to that system from your system. The list
- of rooms shared is terminated by a blank line.
- Dumpnet does not dump the backbone status of a room.
-
- 8) LOADNET
-
- Loadnet takes the output of Dumpnet and converts it into a
- ctdlnet.sys. To use it, type `Loadnet listfile'.
-
- When reloading a network, Loadnet makes assumptions about backbone
- status on netrooms - if a system is a long-distance system, all
- the rooms shared with it will be backboned, otherwise they won't.
-
- Also, when you reload a network with Loadnet, you can diddle the
- need-to-call status of rooms by telling Loadnet to set a specific
- message-number as last-netted. If you do `Loadnet -number
- listfile', all rooms that do not have a lastmessage set will have
- their lastmessage set to the number you passed in (if the number
- is negative, the lastmessage will be set to the highest message in
- the system plus that number...)
-
- 9) PCPDIAL
-
- Pcpdial attempts to call a system via pc pursuit. It will call
- your local telenet access point, attempt to connect to the
- destination city, then call the system on the other end. It is
- primarily for STadel networking, but may be used for manual
- dialing.
-
- Pcpdial reads the file pcpdial.ini in your #netDir for various
- parameters it needs to connect to telenet. pcpdial.ini is a
- straight ascii file that contains local access numbers, your
- telenet password, your telenet userid, and the baudrate that your
- local access number is at. Pcpdial.ini contains the following
- lines:
-
- userid <your telenet user id>
- password <your telenet password>
- access <your local telenet access>
- baud <baudrate of your local telenet access>
-
- For example, a user with telenet userid `fred' with a password of
- `spam' who wants to call the telenet access at 555-1212 at 1200
- baud would have a pcpdial.ini file like so:
-
- userid fred (* Please note that the words userid,
- password spam password,access and baud MUST be
- access 555-1212 typed in your pcpdial.ini file. *)
- baud 1200
-
- Pcpdial takes the following options:
-
- pcpdial [-fx] [-r#] [-l#] city_mnemonic phone#
-
- -f Force the call even if you're not calling during
- normal pc-p hours.
- -x Turn debugging on.
- -r Retry the connect to the remote city # times --
- normally if pcpdial can't get through to the
- remote city after five attempts, it gives up.
- -l Retry the system number # times -- the default
- is five retries.
- city city mnemonic for the target city.
- phone# local phone # to call in that city.
-
- 10) SYSOP
-
- Sysop is only available on the Atari ST version of STadel. It is
- provided so you can run STadel in the background under Amulti/MX2
- and still be able to get at the console for doing sysop
- activities. You need to run Sysop from the #sysDir of your STadel
- -- it looks for a file called CITADEL.LCK to determine whether
- STadel is running or not. (If STadel isn't running, it will
- inform you and exit back to the shell (or desktop...))
-
- 11) SCANZT
-
- Scanzt is provided for people who are running with the network
- loopzapper active (see network.doc for details on that.) All it
- does is look through the loopzap database and see whether
- everything is okay with it. If it should find something wrong, it
- will complain to you (and you should run makezt to restore the
- loopzap table.)
-
- 12) MAKEZT
-
- Makezt is also provided for people who are running with the
- network loopzapper. But instead of merely scanning the zap table,
- it will rebuilt it from scratch. This comes in handy if you
- suspect that your loopzap table has been corrupted or if some
- message came in from another system with a corrupted date and so
- created a logjam.
-
- To run it, merely cd to the directory that contains your
- ctdltabl.sys and type `Makezt', then stand back. Makezt will
- print a lot of information to the screen as it runs, so you don't
- need to pay much attention to it. If something goes wrong, Makezt
- will stop, print out an error message, then throw out your
- ctdltabl.sys.
-
- 13) SPOOLEDT
-
- Spooledt is provided to allow you to edit your network file
- request and sendfile queues. To use it, merely type `Spooledt
- <nodename>'. Spooledt will then locate the appropriate queue and
- invoke your favorite editor to edit it. To tell spooledt what
- your favorite editor is, you must either set an environment
- variable EDITOR that contains the full pathname of the editor, or
- you must copy the editor into your #netdir as EDITOR.EXE (or
- EDITOR.TOS for the Atari ST.)
- Spooledt assumes that your editor will accept command lines and
- understand tabs. When it invokes your editor, it passes the name
- of the spoolfile to it on the commandline like `$EDITOR
- spoolfile'.
-
- 14) NETMAP
-
- Netmap merely produces a list of all the rooms you share with
- other systems, listed by system. Netmap has one option - `-p' -
- which tells it to only list the public rooms shared with other
- systems.
-
- 15) RUNIT
-
- Runit will do the dirty work of executing STadel, reconfiguring if
- STadel crashes, and executing other programs just like a
- shellscript would do. The advantage of runit is that it is
- tailored for STadel, so it takes much less space (~25K runtime
- load.)
-
- runit -- run citadel from this directory
- runit [directory] -- run citadel from [directory]
- runit [run-file] -- run citadel using [run-file]
-
- When you execute runit, it looks for a run-file to read so it can
- determine what to do. If you don't provide a run-file on the
- command line, it will look for the file CITADEL.RUN in your
- current working directory (or the [directory] you specify on the
- commandline.) The run-file consists of lines of the form
- <opcode>=<command>. If the opcode is a non-negative number, the
- command will be executed if STadel returns the given status.
- Otherwise runit will give you an error message and exit if it
- isn't one of the following keywords:
-
-
- HOME - where ctdltabl.sys is.
- BIN - path where programs can be found.
- AFTER - execute this command after STadel exits,
- no matter what the status is.
- DEFAULT - command to execute if STadel returns
- a status not specified in the
- run-file.
- ARGS - arguments to pass to STadel.
-
-
- When runit executes, it first checks to see if ctdltabl.sys
- exists in the HOME directory specified in the run-file. If it
- doesn't exist, runit executes Configur If Configur returns a
- nonzero status or if runit cannot find ctdltabl.sys after running
- it, a error message will print and runit will exit. After this,
- it runs Citadel. Then it runs all the AFTER commands, then the
- commands that were specified for the status that STadel gave runit
- (or the DEFAULT commands, if no commands were specified.) If, at
- any time, any program returns a negative* status, runit will exit.
-
- Commands that you give runit are broken down into the program name
- and the program tail. If the program name does not specify a full
- pathname, runit will look in the BIN directory for the program. If
- you don't specify an extention, runit will look the for files with
- the appropriate extention (.EXE/.COM for MS-DOS, .PRG/.TTP/.TOS
- for GEMDOS) with that name. There also a few special commands
- that runit understands;
-
- $RM - delete files
- $EXIT [status] - exit runit with status (0 if none)
- $CONFIG - Configur in the bin directory.
-
- Here is the citadel.run file that Pell uses:
-
- >
- > BIN=c:\bin
- > ARGS=+netdebug +netlog +zap +hup
- > HOME=f:\pell
- > AFTER=c:\bin\hup -
- > AFTER=c:\bin\callstat -s -u
- >
- > DEFAULT=$EXIT
- > 5=uucall -sstag -x
- > 3=$RM ctdltabl.sys
- > 2=$RM ctdltabl.sys
- > 20=c:\command.com /c c:\bin\popular -msb > f:\pell\library\popular
- >
-
- When STadel returns a status of 2 or 3, runit deletes
- ctdltabl.sys; when STadel returns status of 5, uucall calls the
- primary netfeed; when STadel returns status of 6, uucall calls a
- secondary netfeed; and when status is 20, the popularity index is
- rebuilt. Any other status causes runit to terminate.
-
- No matter what the status is, runit will execute HUP to disable
- the modem, then delete the call log.
-